
#ifndef FASTARRAY_H_
#define FASTARRAY_H_

typedef struct arrayItem {
	int arrayIndex;
} arrayItem;

typedef struct fastArray {
	int capacity;
	int tail;
	void** arrayItem;
} fastArray;

struct fastArray* initFastArray(int capacity);
void destroyFastArray(struct fastArray* fastArray);

void pushBackFastArray(struct fastArray* fastArray, struct arrayItem* item);
void eraseFastArray(struct fastArray* fastArray, struct arrayItem* item);
int getTailFastArray(struct fastArray* fastArray);
void* getArrayItemFastArray(struct fastArray* fastArray, int arrayIndex);

int getArrayIndexFastArray(struct arrayItem* item);

#endif /* FASTARRAY_H_ */
